Caso de Uso

Un caso de uso es una unidad funcional que describe cómo un sujeto (sistema, subsistema o clase), modelado como una caja negra, interactúa con actores externos para lograr objetivos específicos (Booch et al. (2006, 246); OMG (2017, sección 18.1); Rumbaugh et al. (2000, 70)). Los casos de uso constituyen una herramienta clave en ingeniería del software para:

Aunque los casos de uso son conceptualmente independientes entre sí, pueden surgir dependencias implícitas debido a elementos compartidos en la implementación (Booch et al. (2006, 246); OMG (2017, sección 18.1); Rumbaugh et al. (2000, 70)).

Características

Característica Descripción
Comportamiento Externo Representa el comportamiento visible del sistema desde la perspectiva del usuario (Rumbaugh et al., 2000, 70).
Centrado en Objetivos Cada caso de uso persigue un resultado específico y medible para el actor (Rumbaugh et al., 2000, 70).
Granularidad Adecuada Representa una funcionalidad completa, no fragmentada (Booch et al., 2006, 246)
Independencia Tecnológica Describe el "qué" (requisitos), no el "cómo" (implementación) (Booch et al. (2006, 244); Rumbaugh et al. (2000, 70)).
Ejecución Dinámica Especificada mediante diagramas de secuencia, estados, comunicación o descripciones textuales (Rumbaugh et al., 2000, 70).
Colaboración entre Clases Los casos de uso se implementan mediante colaboraciones entre clases que pueden desempeñar múltiples roles. Estas colaboraciones son esenciales para implementar casos complejos sin introducir dependencias innecesarias (Booch et al. (2006, 246); OMG (2017, sección18.1); Rumbaugh et al. (2000, 70)).

Especificación de un Caso de Uso

Mientras el diagrama de casos de uso ofrece una visión general, las especificaciones textuales detallan precondiciones, escenarios, flujos principales, alternativos y excepcionales, así como postcondiciones. Este nivel de detalle es crucial para entender qué debe hacer el sistema y bajo qué condiciones.

Casos de Uso y Escenarios

Un caso de uso puede manifestarse en múltiples variantes llamadas escenarios. Estos representan instancias específicas de ejecución.